package cn.wolfcode.luowowo.search.service;

import cn.wolfcode.luowowo.search.query.DestQueryObject;
import cn.wolfcode.luowowo.search.query.IndexSearchQuery;
import cn.wolfcode.luowowo.search.template.DestinationTemplate;
import org.springframework.data.domain.Page;
import org.springframework.data.elasticsearch.core.aggregation.AggregatedPage;

/**
 * @author 猫教授
 * @date 2019/8/18 17:17
 */
public interface IDestinationSearchService {
    /**
     * 保存或者修改对象
     * @param ttt
     */
    void saveOrUpdate(DestinationTemplate ttt);

    /**
     * 精准查询目的地
     * @param keyword
     * @return
     */
    DestinationTemplate findByName(String keyword);

    AggregatedPage<DestinationTemplate> selectByKeyword(IndexSearchQuery qo, String...fieldName);

    /**
     * 根据主题查询目的地
     * @param qo
     * @return
     */
    Page<DestinationTemplate> selectByTheme(DestQueryObject qo);
}
